home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 June / EnigmA AMIGA RUN 19 (1997)(G.R. Edizioni)(IT)[!][issue 1997-06][EAR-CD III].iso / for amiga / v1.2 / announce-1.2.13pl5.z / announce-1.2.13pl5
Text File  |  1997-04-23  |  17KB  |  371 lines

  1.  
  2. This announces the availability of version 1.2.13pl5 of Linux/68k. The
  3. source and a precompiled kernel are in /pub/Linux/LOCAL/680x0 on
  4. ftp.uni-erlangen.de and its mirrors.
  5.  
  6. Changes against the last version:
  7.  
  8.  - Some updates to the Atari Lance Ethernet driver: deleted some
  9.    debugging stuff and added more comments; some minor performance
  10.    optimizations (save register/memory accesses); there are 8 instead
  11.    of 4 TX buffers now (and still 32 RX buffers), what may speed up NFS,
  12.    since one NFS block (8 KByte) now fits completely in the board's
  13.    memory; the non-VME RieblCards need a slower memory access, so
  14.    they use an own memcpy now that inserts a MFPDELAY() after each
  15.    copied byte; the memory address 0x00d00000 is also probed now to
  16.    support modified ST RieblCards (to avoid conflict with ROM address)
  17.    (myself, tnx to Torsten Lang for some hints)
  18.  
  19.  - Two data areas in the FPSP040 were erroneously commented out. That
  20.    may have caused wrong calculations of tanh(), frem() and fmod().
  21.    (floeck@wctc6.chemie.uni-wuppertal.de and myself)
  22.  
  23.  - ksymoops.cc adapted to m68k (schwab@issan.informatik.uni-dortmund.de)
  24.  
  25.  - The Atari bootstrap sets (again) the FPU type to 68040 if the CPU
  26.    is a '040 and doesn't look at the _FPU cookie. This is necessary if
  27.    some FPU software under TOS sets the cookie to a wrong value (e.g.
  28.    68882). The same applies for a '060 (if you have one :-) (myself)
  29.  
  30.  - Some code for the '060, but still incomplete (and totally
  31.    untested...):
  32.       
  33.     o '060 support (PCR and branch cache) in the Atari bootstrap and
  34.       head.S
  35.     o Respect new bits in the CACR
  36.     o New access error handler (completely different again)
  37.     o Clear user mode branch cache on context switches
  38.     o The '060 has a CPUSH mode that pushes the cache but doesn't
  39.       invalidate it. This is used for cache_push(). cache_clear() on
  40.       the '060 first does CPUSH, then CINV.
  41.     o The '060 cannot supply data in its cache on snooped external
  42.       reads (as the '040 can), so the cache must be pushed before DMA
  43.       writes (on machines that support snooping, like the Medusa). It
  44.       still can invalidate cache entries on external writes, so a
  45.       cache_clear() before DMA reads isn't necessary.
  46.         Since all the cache maintainance for DMAing drivers is getting
  47.       more and more complicated with this, I've written a general
  48.       function for this, dma_cache_maintainance(), that is defined in
  49.       asm-m68k/atarihw.h and now is used by all DMAing Atari drivers.
  50.       Maybe this should further generalized in future for use by all
  51.       machines (i.e., Amiga also), together with some overall flag
  52.       whether the machine can snoop the bus.
  53.     o There's some irritation about the cache mode allowed for page
  54.       containing page descriptors. The manuals say, the '040 needs
  55.       non-cacheable, and the '060 allows write-through (but no
  56.       copyback). But in real life, it seems the other way 'round: the
  57.       '040 works fine with write-through (and probably even copyback),
  58.       but the '060 needs a non-cacheable mode...?!? My current
  59.       solution to this: The cache mode can be chosen for both
  60.       processors separately at the start of head.S. Currently it's
  61.       write-through for a '040 and non-cacheable/non-serialized for
  62.       the '060.
  63.  
  64.    What I know to still be missing:
  65.  
  66.     o Integration of the MC68060SP ("software package", similar to the
  67.       MC68040FPSP)
  68.     o Avoiding use of separate ISP/MSP registers (the '060 has only
  69.       one SSP).
  70.     o I think we have to rewrite the calibration of the delay loops
  71.       and the delay loop preparations, since the use divl and mull
  72.       with 64-bit operands/results, that are unimplemented on the
  73.       '060. Ok, the MC68060SP would catch these instructions, but that
  74.       is much overhead... Motorola also supplies some library
  75.       functions for the divl/mull operations, maybe we should use
  76.       these.
  77.  
  78.    (all myself)
  79.  
  80.  - Added the prototypes of request_dma() and free_dma() to asm/dma.h
  81.    to avoid warnings about missing prototypes. (myself)
  82.  
  83.  - The "keep" parameter to atavideo= should now really work on the
  84.    Falcon. No VIDEL registers are touched anymore if keep is set.
  85.    (guenther@pool.informatik.rwth-aachen.de)
  86.  
  87.  - Falcon video mode changes are done in the VBL now, which should fix
  88.    the nasty shifts of the screen picture in monochrome modes.
  89.    (guenther@pool.informatik.rwth-aachen.de)
  90.  
  91.  - amicon.c and atacon.c have been merged into one file,
  92.    arch/m68k/console/fbcon.c, since they had many similarities. There
  93.    are several implications and minor updates due to this: 
  94.  
  95.     o The console font size is now a general sub-option (not Atari
  96.       only anymore) in the "video=" or "atavideo=" kernel parameter.
  97.       The old "f8x8" and "f8x16" are gone. The new syntax is
  98.       "font:<name>", where name is (currently) one of "VGA8x8" or
  99.       "VGA8x16". The default is chosen the same on yres.
  100.  
  101.     o fbcon.c chooses the console scrolling method based on the
  102.       capabilities of the underlying framebuffer: ywrap (fastest,
  103.       screen splitting), ypan (pan screen and copy at end, old Atari
  104.       method), or ymove (slowest, just block copy).
  105.  
  106.     o The fonts are in arch/m68k/console now, too, together with an
  107.       extra abstraction layer for font selection.
  108.  
  109.     o There's a skeleton for a text based console,
  110.       arch/m68k/console/txtcon.c.
  111.  
  112.     o Virtual consoles of different sizes should work now.
  113.  
  114.    (all Geert.Uytterhoeven@cs.kuleuven.ac.be) I just changed the
  115.    cursor blinking speeds to the old values, depending on the machine
  116.    (Amiga/Atari).
  117.  
  118.  - General framebuffer changes:
  119.  
  120.     o The framebuffer device now reserves the last 8 minors for user
  121.       defined "standard" resolutions. It's recommended for framebuffer
  122.       implementations to use the last 8 minors for this purpose if
  123.       that's possible and it makes sense. This implemented for both,
  124.       Amiga and Atari. You can use Geert's "fbset" utility to define
  125.       these user modes. For the Atari, there's also a new command line
  126.       option for initializing userdef slot #0: It's syntax is
  127.       "R<xres>;<yres>;<depth>" as sub-option of "atavideo=", and must
  128.       be used instead of "vga2", "vga4"... . This will initialize
  129.       /dev/fb0user0 to the given video mode, with a timing chosen
  130.       automatically by the frame buffer to match the monitor
  131.       capabilities.
  132.  
  133.       New devices:
  134.           mknod /dev/fb0user0 c 29 24
  135.           mknod /dev/fb0user1 c 29 25
  136.           mknod /dev/fb0user2 c 29 26
  137.           mknod /dev/fb0user3 c 29 27
  138.           mknod /dev/fb0user4 c 29 28
  139.           mknod /dev/fb0user5 c 29 29
  140.           mknod /dev/fb0user6 c 29 30
  141.           mknod /dev/fb0user7 c 29 31
  142.  
  143.     o New ioctl FBIOPAN_DISPLAY with less overhead than FBIOPUT_VSCREENINFO
  144.  
  145.    (most Geert.Uytterhoeven@cs.kuleuven.ac.be, fb0userx on Atari by
  146.    guenther@pool.informatik.rwth-aachen.de)
  147.  
  148.  - Atari framebuffer changes:
  149.  
  150.     o Implemented the FBIOPAN_DISPLAY ioctl for the Atari. The Falcon
  151.       can do X- and Y-panning, TT/STE Y-panning only (for now), and a
  152.       plain ST no panning at all.
  153.  
  154.       With this, there's a small change in how yres_virtual is handled
  155.       when changing video modes (e.g. with fbset) on the Falcon. If
  156.       the input yres_virtual is 0, it is changed to the maximum
  157.       possible value to support hardware scrolling on the console. If
  158.       yres_virtual<yres it is changed to yres (and there's no hardware
  159.       scrolling used). If yres_virtual > yres on input, it's
  160.       unchanged, so that X11 gets exactly this value. This change was
  161.       necessary to support Geert's new X-Server with panning.
  162.  
  163.       This means: If you want to use hardware scrolling in the
  164.       console, always give the option "-vyres 0" to fbset, and set
  165.       vyres to 0 for any predefined video mode in /etc/fb.modes. To
  166.       use it with the new X-Server, set vyres (and vxres on Falcon) to
  167.       some appropriate values.
  168.  
  169.       (guenther@pool.informatik.rwth-aachen.de)
  170.  
  171.  - Amiga framebuffer changes:
  172.  
  173.     o The latest version of the AGA color framebuffer is included.
  174.       The following modes are available:
  175.  
  176.           - ntsc           (640x200, 15 kHz, 60 Hz (NTSC))
  177.           - ntsc-lace      (640x400, 15 kHz, 60 Hz interlaced (NTSC))
  178.           - pal            (640x256, 15 kHz, 50 Hz (PAL))
  179.           - pal-lace       (640x512, 15 kHz, 50 Hz interlaced (PAL))
  180.           - multiscan      (640x480, 29 kHz, 57 Hz)
  181.           - multiscan-lace (640x960, 29 kHz, 57 Hz interlaced)
  182.           - a2024-10       (1024x800, 10 Hz (*))
  183.           - a2024-15       (1024x800, 15 Hz (*))
  184.           - euro36         (640x200, 15 kHz, 72 Hz)
  185.           - euro36-lace    (640x400, 15 kHz, 72 Hz interlaced)
  186.           - euro72         (640x400, 29 kHz, 68 Hz)
  187.           - euro72-lace    (640x800, 29 kHz, 68 Hz interlaced)
  188.           - super72        (800x300, 23 kHz, 70 Hz)
  189.           - super72-lace   (800x600, 23 kHz, 70 Hz interlaced)
  190.           - dblntsc        (640x200, 27 kHz, 57 Hz doublescan)
  191.           - dblntsc-ff     (640x400, 27 kHz, 57 Hz)
  192.           - dblntsc-lace   (640x800, 27 kHz, 57 Hz interlaced)
  193.           - dblpal         (640x256, 27 kHz, 47 Hz doublescan)
  194.           - dblpal-ff      (640x512, 27 kHz, 47 Hz)
  195.           - dblpal-lace    (640x1024, 27 kHz, 47 Hz interlaced)
  196.           - vga            (640x480, 31 kHz, 60 Hz (VGA))
  197.           - vga70          (640x400, 31 kHz, 70 Hz (VGA))
  198.         (*) The a2024-?? modes don't work yet.
  199.  
  200.       The default mode is vga70 (for AGA :-) The following devices are
  201.       used:
  202.  
  203.           mknod /dev/fb0current c 29 0
  204.           mknod /dev/fb0autodetect c 29 1
  205.           mknod /dev/fb0ntsc c 29 2
  206.           mknod /dev/fb0ntsc-lace c 29 3
  207.           mknod /dev/fb0pal c 29 4
  208.           mknod /dev/fb0pal-lace c 29 5
  209.           mknod /dev/fb0multiscan c 29 6
  210.           mknod /dev/fb0multiscan-lace c 29 7
  211.           mknod /dev/fb0a2024-10 c 29 8
  212.           mknod /dev/fb0a2024-15 c 29 9
  213.           mknod /dev/fb0euro36 c 29 10
  214.           mknod /dev/fb0euro36-lace c 29 11
  215.           mknod /dev/fb0euro72 c 29 12
  216.           mknod /dev/fb0euro72-lace c 29 13
  217.           mknod /dev/fb0super72 c 29 14
  218.           mknod /dev/fb0super72-lace c 29 15
  219.           mknod /dev/fb0dblntsc c 29 16
  220.           mknod /dev/fb0dblntsc-ff c 29 17
  221.           mknod /dev/fb0dblntsc-lace c 29 18
  222.           mknod /dev/fb0dblpal c 29 19
  223.           mknod /dev/fb0dblpal-ff c 29 20
  224.           mknod /dev/fb0dblpal-lace c 29 21
  225.           mknod /dev/fb0vga c 29 22
  226.           mknod /dev/fb0vga70 c 29 23
  227.       
  228.       On OCS/ECS, the old special device nodes are still used!
  229.   
  230.     o Merged the old monochrome frame buffer (OCS/ECS) with the new
  231.       color version for AGA. Until OCS/ECS support for the color
  232.       version is finished, the old version is invoked when running on
  233.       a non-AGA machine. Thus from now on AGA users will get color
  234.       with the standard source tree.
  235.  
  236.     o Monitor capabilities (kernel parameter `video', cfr. Atari):
  237.           monitorcap:<Vmin>;<Vmax>;<Hmin>;<Hmax>)
  238.       <V*> are vertical freq. in Hz, <H*> horizontal ones in kHz;
  239.       default is a generic Amiga monitor (50-90 Hz, 15-38 kHz)
  240.  
  241.     o Hold-And-Modify (HAM6/HAM8) if var->nonstd == FB_NONSTD_HAM
  242.       Someone interested in porting ZGV to the frame buffer concept?
  243.  
  244.     o VESA suspend mode: pwrsave (not for BROADCAST (PAL/NTSC) modes)
  245.  
  246.     o PAL and NTSC work now (incl. ywrap)
  247.  
  248.     o The maximum display depth for which hardware scrolling (ywrap)
  249.       is possible is determined using ddfstrt now (was: hardcoded at 4
  250.       planes)
  251.  
  252.     o Hardware cursor basics (very preliminary)
  253.  
  254.    (all Geert.Uytterhoeven@cs.kuleuven.ac.be)
  255.  
  256.  - Preliminary support for the Cybervision graphics board, though only
  257.    in a very limited way. The current driver is neither able to set up
  258.    the screen as needed nor does it use the blitter on the Cybervision
  259.    under X (this is rather caused by the need for a special X server
  260.    than by the framebuffer device). It can do the following: It can
  261.    use a screen that exists at boot time to render its output to. The
  262.    screen has to be either 640, 800, 1024, 1152 or 1280 pixels wide,
  263.    the height is not restricted. The width and height of the desired
  264.    screen have to be set in defines in arch/m68k/amiga/cyberfb.c
  265.    accordingly. Due to the fact that it needs an existing screen it
  266.    cannot be used together with 'lilo', you have to use 'bootstrap'
  267.    for booting. (apel@tecmath.de)
  268.  
  269.    The Amiga bootstrap has a new option, "-v", to support the
  270.    Cybervision. This option causes the video mode not to be reset, as
  271.    currently needed for the Cybervision framebuffer. (A bit similar in
  272.    effect to "atavideo=keep".) (Geert.Uytterhoeven@cs.kuleuven.ac.be)
  273.  
  274.  - Fix inverse video mode initialization and throw away a leftover
  275.    commenting-out for testing; fix ICD partition numbering
  276.    (schwab@issan.informatik.uni-dortmund.de &
  277.    guenther@pool.informatik.rwth-aachen.de)
  278.  
  279.  - Misc documentation updates (kernel-options, Configure.help,
  280.    CREDITS.m68k) (Geert.Uytterhoeven@cs.kuleuven.ac.be)
  281.  
  282.  - On the Medusa, always using 8 MB as ST-RAM has caused problems with
  283.    a ramdisk, because the assumptions about the relative positions of
  284.    memory areas became wrong. The fix is to use the same amount of
  285.    ST-RAM as TOS does. (myself with floeck@wctc6.chemie.uni-wuppertal.de)
  286.  
  287.  - The Amiga interrupts were handled (within the same interrupt level)
  288.    in a different order than under AmigaOS. Shouldn't have had much
  289.    influence, but at least these reversed priorities were a bit
  290.    confusing. (Geert.Uytterhoeven@cs.kuleuven.ac.be)
  291.  
  292.  - The read and write functions for /dev/vcs* contained a few byte
  293.    order dependencies. Also, the display is now correctly updated if
  294.    writes go to the currently visible vcs.
  295.    (schwab@issan.informatik.uni-dortmund.de)
  296.  
  297.  - Some stuff for the Afterburner040 for the Falcon:
  298.       
  299.     o Check for a VIDEL in the bootstrap to distinguish the AB040 from
  300.       a Medusa; the AB040 also allows writing to the address range
  301.       0x0...0x7 (no ROM shadow!)
  302.       
  303.     o A similar test also added in head.S for the same reason
  304.       
  305.     o Also the Atari internal framebuffer now takes care of the cache
  306.       mode of video memory: this must be write-through (no copyback)
  307.       on a '040+, else changes appear on the screen only when data are
  308.       pushed out of the cache... For this, a new function,
  309.       kernel_set_cachemode(), was necessary. Hope it works.
  310.  
  311.     o What still doesn't work: putting the kernel into TT-RAM :-( The
  312.       problem seems to be the jump to virtual address space in head.S.
  313.       Still investigating on this...
  314.  
  315.    (all myself)
  316.  
  317.  - Atari SCSI driver changes:
  318.  
  319.      o Falcon-SCSI should now work with TT-RAM! My old idea to use the
  320.        'unchecked_isa_dma' flag in the host structure for this case was
  321.        wrong, simply wrong... It had the implication to clean up all
  322.        the mid-level SCSI code in respect to ST-RAM handling. It's much
  323.        easier to implement a dribble buffer internal to the Atari SCSI
  324.        driver. I.e., if a transfer is from/to memory that the ST-DMA
  325.        can't access, a pre-allocated ST-RAM buffer is used instead as
  326.        an intermediate. One buffer is enough, since Falcon-SCSI cannot
  327.        do scatter-gather anyway. Only allocating this buffer requires a
  328.        new, not very clean call from scsi.c. This is untested for now,
  329.        but it should work.
  330.  
  331.     o The driver now does a SCSI bus reset during initialization.
  332.       Maybe that helps for the problems with the ICD and CBHD drivers
  333.       under TOS.
  334.  
  335.     o Fixed some NCR_abort() return codes.
  336.  
  337.     o After a bus reset, the interrupt condition must be cleared, else
  338.       no ints get through anymore.
  339.  
  340.     o Fixed some (possible) NULL pointer references in debugging
  341.       output statements.
  342.  
  343.     o The cleanup of the disconnected_queue and the connected command
  344.       after a reset could have caused problems (stale pointers, too
  345.       early restarting). Completely rewritten this so no bad things
  346.       should happen there anymore.
  347.  
  348.    The last three things should make SCSI resets work now (do you know
  349.    Will Robinson? :-), i.e. the machine shouldn't panic anymore under
  350.    normal circumstances. Good news for Falcon users... (all myself,
  351.    the last item guenther@pool.informatik.rwth-aachen.de)
  352.  
  353.  - The Amiga Lance drivers (A2065 and Ariadne) didn't check right at
  354.    the start of their isr whether it was really their board that
  355.    caused the interrupt. Now the int status bit is tested ASAP. This
  356.    might have been a part of the reason why people have had problems
  357.    with these drivers in the past (well, just maybe). (jds@kom.auc.dk)
  358.  
  359.  - Fix the problem with Zorro detection when there is more than one
  360.    GVP board. (jds@kom.auc.dk)
  361.  
  362. Current Amiga bootstrap version: 2.2 (changed)
  363. Current Atari bootstrap version: 1.5 (changed)
  364.  
  365. The precompiled kernel contains both, Amiga and Atari support, so it
  366. is very big. You probably want to compile your own kernel tailored to
  367. your personal needs. Note also that there have been some problems
  368. reported that such big kernels cannot be booted with Amiga Lilo.
  369.  
  370. Roman
  371.